package com.ssyt.yt1.day12;

import java.util.Arrays;

/**
 * String的常用方法
 * 
 * @author Administrator
 *
 */
public class StringDemo {

	/**
	 * 字符串拼接的时候不要String，而应该使用StringBuilder或StringBuffer！
	 */
	public static void testChangeString() {
		// String str = "a" + "b" + "c";
		// System.out.println(str == "abc");

		// String a = "a";
		// String b = "b";
		// String c = "c";
		// System.out.println(a + b + c == "abc");

		// 这里会生产100001个对象！！！！
		String str = "";
		for (int i = 0; i < 100000; i++) {
			str = str + i;
		}
		System.out.println(str);
	}

	public static void main(String[] args) {
		// 声明
		// String str = new String("hello");
		String str = "hello";

		// 返回指定下标的字符
		System.out.println(str.charAt(0));
		// 连接字符串（一般不用，会多产生一个对象）
		System.out.println(str = str.concat(" world"));
		// 查找字符里是否有某个字符
		System.out.println(str.contains("wo"));
		// 是否以xx开始，以xx结束
		System.out.println(str.startsWith("he"));
		System.out.println(str.endsWith("ld"));
		// 截取字符串
		System.out.println(str.substring(str.indexOf(" ") + 1));
		System.out.println(str.substring(0, 3));
		// 把字符串转成字符数组
		char[] chars = str.toCharArray();
		for (char c : chars) {
			System.out.print(c + "\t");
		}
		System.out.println();
		// 大小写转换
		System.out.println(str = str.toUpperCase());
		System.out.println(str = str.toLowerCase());
		// 去前后空白
		str = " " + str + " ";
		System.out.println(str.length());
		System.out.println(str.trim().length());
		// 判断字符串是否相等
		String a = new String(" abc");
		String b = new String("Abc");
		System.out.println(a == b);
		System.out.println(a.equals(b));
		System.out.println(a.trim().equalsIgnoreCase(b.trim()));
		// 字符串替换
		System.out.println(str.replace("l", "L"));
		// 字符串拆分
		String[] strs = str.split(" ");
		System.out.println(Arrays.toString(strs));
		String str2 = "hello\\world";
		System.out.println(Arrays.toString(str2.split("\\\\")));

		testChangeString();
	}
}
